home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mission 3
/
Mission 3.zip
/
Mission 3.iso
/
tools
/
facevalu
/
docu
/
w_format.lst
< prev
Wrap
File List
|
1998-04-01
|
8KB
|
235 lines
' -- FV 2.0 Wrinkle format:
' --
' -- This is the format of the wrinkles, all lines starting with "--" should
' -- be deleted. No empty lines or comments on flag lines allowed.
' -- The first entry tells FV if the wrinkle is selected by
' -- including a tree in the RSC. If so, it should look like this:
' --
REM FV WRINKLE: RSC
' --
' -- The tree name should be "fvw_xxxx" and be 8 characters long. FV will
' -- then include the file FVW_XXXX.LST from the WRINKLES directory, so that is
' -- your filename. (xxxx is where your name goes...)
' -- If the wrinkle does not use a RSC tree, you use this header instead:
' --
REM FV WRINKLE: LIST
' --
' -- The wrinkle will then be selectable from the include listbox in FV.
' -- The next entry provides the name for the ListBox (for LIST type wrinkles):
' --
REM FV TITLE: Calculator
' --
' -- Your wrinkle also needs a "long name", which is used for your proc-names:
' -- It must be one single word, only lowercase characters are allowed, also
' -- digits (like in GFA-vars).
' --
REM FV NAME: calculator
' --
' -- Next follows a section that is informational only (will be ignored by FV):
' --
REM FV AUTHOR: Vegard Hofsøy
REM FV COPYRIGHT: ©1996 Columbus Soft/Vegard Hofsøy
' --
' -- If wrinkles are used in the project, a procedure called @wrinkles_info
' -- will be added to the produced LST file. The wrinkle author can add
' -- wrinkle information to this procedure by using the following flags:
' --
REM FV WRINKLE INFO
' --
' -- This signals the start of the section that will be included in the
' -- @wrinkles_info procedure. *All* lines between this and the terminating
' -- flag will be included. For readability, you should insert a separating line
' -- at the top of your entry, like the following line:
' ----------------------------------------------------------------------------
' --
' -- You must terminate your entry using the following flag:
' --
REM FV END
' --
' -- As your wrinkle may need code the programmer may not include, you can
' -- set some flags in the Wrinkle to ensure that it has access to all the
' -- resources it needs.
' --
' -- Use this flag to include code to deal with userwindows:
' --
REM FV USERWIN:
' --
' -- Use this flag to include code for userwindows with dropdown menus:
' --
REM FV USERWIN_DROP:
' --
' -- Use this flag to include code for userwindows with their own VDI virtual
' -- workstation:
' --
REM FV USERWIN_WKST:
' --
' -- Use this flag to include code for blitscrolling:
' --
REM FV BLIT:
' --
' -- Use this flag to include bubble help:
' --
REM FV BUBBLEHELP:
'
' -- Use this flag to include LST files from the EXTRA/ folder (this flag can
' -- be used more than once in a wrinkle, to include more than one EXTRA/
' -- routine):
' --
REM FV EXTRA: FILENAME.LST
' --
' -- FILENAME is the filename of the EXTRA/ routine you want to include.
' --
' -- Then follows the code you want to include in the user_ routines. A flag
' -- signals the start:
' --
REM FV user_xxxxxxxxxxx
' --
' -- Then follows the actual code to include in this routine. This should
' -- be as short as possible, to not clutter up the code. Use calls to your own
' -- routines if at all possible. Include brief docs where neccesary.
' -- If possible, use just only _one_ line: a GOSUB to one of the wrinkles own
' -- subprocs, that can be included (see below).
' -- Every line here must have a comment with a special flag of your wrinkle.
' -- Here is an example:
' -- @calculator_draw(x&,y&) !ΩΩFVW:calculatorΩΩ
' -- The omaga-sign ("Ω") can be typed by <Alt>+<2>+<3>+<4>
' -- By the way, use the long wrinklename here (see above).
' -- It must be terminated by the following line:
' --
REM FV END
' --
' -- *All* lines within the flags will be included in the final LST
' --
' -- The user_ routines that may be used in this way are:
' --
REM FV user_var_index
REM FV END
REM FV user_rsc_var_init
REM FV END
REM FV user_rsc_interact
REM FV END
REM FV user_rsc_context_help
REM FV END
REM FV user_rsc_bubble_help
REM FV END
REM FV user_rsc_draw_extra
REM FV END
REM FV user_on_open
REM FV END
REM FV user_on_exit
REM FV END
REM FV user_quit_ok
REM FV END
REM FV user_systemcheck
REM FV END
REM FV user_gem_messages
REM FV END
REM FV user_win_close_all
REM FV END
REM FV user_window_content
REM FV END
REM FV user_mouse
REM FV END
REM FV user_keyb
REM FV END
REM FV user_win_close_ok
REM FV END
REM FV user_dragdrop_init
REM FV END
REM FV user_dragdrop_path
REM FV END
REM FV user_dragdrop_accept
REM FV END
REM FV user_dragdrop_loaddata
REM FV END
' --
' -- The @user_rsc_interact() and @user_rsc_context_help routine is special.
' -- Code in this routines are placed within the SELECT tree&/CASE
' -- structure. Therefore you *must* start the code to go into this routine
' -- with a CASE xxxx&.
' -- In the @user_rsc_draw_extra() routine you must provide the SELECT/CASE
' -- structure yourself (not for use by LIST type wrinkles).
' --
' -- In addition, you can put initialization parts into the @init routine
' --
REM FV init
REM FV END
' --
' -- You only need to include the routines that your wrinkle will put
' -- code into.
' --
' -- Wrinkles can do their interaction in @user_rsc_interact() as described
' -- above. If this is not satisfactory for your Wrinkle (to messy), you can
' -- include Wrinkle callback routines. These should have the prefix "user_",
' -- and the name(s) should clearly indicate which wrinkle they belong to.
' -- Inside the routine, explain its operation as comments. This will make
' -- them easier to use for all programmers. Start with this flag:
' --
REM FV WRINKLE CALLBACK
REM FV END
' --
' -- As usual, the entry is terminated with "REM FV END". Remember to fold your
' -- routines before saving. The names of these callback-procedures must be
' -- like shown here: PROC user_longname_xxx(...)
' -- For e.g.: user_calculator_macrostarted(macro$)
' -- If other wrinkles should can put code in here like into the common
' -- user-routines, too, you can include two (!) wsnippet-flags:
' -- ' ΩΩwsnippet ΩΩ
' -- ' ΩΩwsnippet ΩΩ
' -- Those lines must start exact like shown above (only one space after "'").
' -- FaceValue will merge code from other wrinkle between these two lines.
' --
' -- The header part of the Wrinkle must be terminated by the following line:
' --
REM FV ENDHEADER
' --
' -- Last in the LST file goes your routines for inclusion by FV (added at the
' -- end of the FV produced LST file). All routines should be folded!
' -- All procedures and functions here must start with the long-name (see above)
' -- and an underscore. e.g.: PROC calculator_draw(x&,y&)
' --
' -- One further thing: It you are using global vars, their name have to start
' -- with the long wrinkle-name, too. E.g.: calculator_value&
' --
' -- Here follows an example wrinkle of the RSC type:
REM FV WRINKLE: RSC
REM FV TITLE: Acme
REM FV NAME: acme
REM FV AUTHOR: Vegard Hofsøy
REM FV COPYRIGHT: ©1996 Columbus Soft/Vegard Hofsøy
REM FV WRINKLE INFO
' ----------------------------------------------------------------------------
' The Acme Wrinkle includes a callable routine. The syntax for calling it
' is as follows:
'
' @acme_callable(test&)
'
' <test&> should be 123 for fun & profit, 321 for backwards thinking...
REM END
REM FV user_var_index
' acme_variable& !this variable is used by the Acme Wrinkle
REM END
REM FV user_rsc_var_init
acme_variable&=-1 !ΩΩFVW:acmeΩΩ
REM END
REM FV user_rsc_interact
CASE fvw_acme& !ΩΩFVW:acmeΩΩ
@acme_handler(index&,tree&,object&,mc&,sub_me&) !ΩΩFVW:acmeΩΩ
REM END
REM FV user_rsc_draw_extra
SELECT tree& !ΩΩFVW:acmeΩΩ
CASE fvw_acme& !ΩΩFVW:acmeΩΩ
@acme_draw_object(index&,cx&,cy&,cw&,ch&) !ΩΩFVW:acmeΩΩ
ENDSELECT !ΩΩFVW:acmeΩΩ
REM FV END
REM FV ENDHEADER
> PROCEDURE acme_handler(index&,tree&,object&,mc&,sub_me&)
' (just a dummy)
RETURN
> PROCEDURE acme_draw_object(index&,cx&,cy&,cw&,ch&)
' (just a dummy)
RETURN
> PROCEDURE acme_callable(test&)
' (just a dummy)
RETURN